/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package roomarrange;

import org.springframework.jdbc.support.rowset.SqlRowSet;

/**
 *
 * @author ben
 */
public interface DataDao {
    //初始化一个会议
    public void initMeeting(String cid,String sdate,String edate,int roomid,int usrid,int iconfirmbygrpid,String app);
    //更新表的其余信息
    public void updateMeeting(String cid,int ihost,int initdept,String cname,String cabstract,String cnotice,int istatus,int iusrid,int iroomsort,int iconfirmbygrpid);
    //更新表的其余信息--视频测试用
    public void updateMeeting(String cid,int ihost,int initdept,String cname,String cabstract,String cnotice,int istatus,int iusrid,int iroomsort,int iconfirmbygrpid,int inetdown);
    //更新视频会议标志
    public void updateMeeting(String cid,int ivideo);
    //更新工作区表的其余信息
    public void updateWork(works lwks);
    //更新工作区的使用结束时间
    public void updateWorkEndTime(String cid,String edate);
    //获取一个符合条件会议的列表
    public meetings getMeeting(String cmeetingid,String app);
    //清除未完成请求的会议临时数据
    public void removeTmp(int usrid,String app);
    //在会议中加入一个参加者
    public void insertMTUsr(int usrid,String meetingid);
    //在会议中移出一个参加者
    public void removeMTUsr(int usrid,String meetingid);
    //将所有用户加入会议
    public void insertMTAllUsr(String meetingid);
    //将所有用户移出会议
    public void removeMTAllUsr(String meetingid);
    //得到会议室的类型
    public int  getRoomSort(int iroomid);
    //得到会议室的类型
    public String  getRoomName(int iroomid);
    //得到会议室的确认部门
    public int  getRoomConfirmGrpId(int iroomid);
    //按照用户等到确认部门
    public int getRoomConfirmGrpIdByUser(int iusrid);
    //向企业qq发消息
    public void sendRTX(meetings mt,int bj,setupParam stp);
    //public void sendRTX(String cuuid,String cname,String cdept,String sDate,String eDate,int istatus);
    //取部门的名称
    public String getGrpName(int igrpid);
    //取符合条件的会议的数量
    public int getMeetingCnt(String sdate,String edate,int roomid,String app);
    //取符合条件的会议的数量
    public int getMeetingCnt(String meetingid);
    //删除会议的所有信息（包括参会者信息）
    public void removeMeeting(String meetingid,String app);
    //取符合条件的会议的进行状态
    public int getMeetingStatus(String meetingid);
    //取符合条件的用户组,返回一个形式为 grpid1,grpid2,grpid3的字符串
    public String getGrpId(int iusrid);
    //取符合条件的用户组,bj=1 为科室 bj=2 为群组
    public int getGrpId(int iusrid,int ibj);
    //确认一个会议,bj=0 为办公室确认 bj=1为科室确认
    public void confirmMeeting(String cid,String copinion,int istatus,int iconfirmid,int ibj);
    //确认一个工作区,bj=0 为本科室确认 bj=1 为技术科确认 bj=2 为法警队确认 bj=3 为检察长确认
    public void confirmWork(String cid,String copinion,int istatus,int iconfirmbygrpid,int ibj,int iusrid);
    ////法警大队长确认一个网上派警
    public void confirmWork(String cid,String copinion,int istatus,int iconfirmbygrpid,int ibj,int iusrid,String cabstract);
    //得到参会人员姓名列表
    public String getAttendeeList(String cid);
    //否决一个会议
    public void vetoMeeting(String cid,String copinion,int istatus,int iconfirmid,int ibj,String app);
    //判断一个用户是否属于技术科,返回值为符合条件的记录数
    public int getGrpid(int usrid,int grpid,int leader);
    //更新一个会议的召开时间和地点
    public void updateTimeNroom(String cid,String sdate,String edate,String stime,String etime,int roomid,String app);
    //根据日期和会议室编号取得该会议室当天的占用状态
    public String[] getRoomStat(int roomid,String sdate,String app);
    //将所有和视频测试冲突的已确认会议申请重新置为待办公室审批状态
    public void resolveConflict(String sdate,String edate,int roomid);
    //取得用户的姓名
    public String getUsrRealName(int iusrid);
    //取得工作区的提前量
    public int getSetup(String cname);
    //取得传人工作事务对应的派警人数
    //bj=0时对应select count(*) from v_attendee where igrpsort=1 and cmeetingid in (select i_id from t_works where cacceptor=?);
    //bj=1时对应select count(*) from v_attendee where igrpsort=1 and cmeetingid in (select i_id from t_works where cinitdept=?);
    public int getAttendeeCnt(String cparam,String sdate,String edate,int ibj);
    //取得网上派警统计报表的基础数值
    //bj=0时对应select cacceptor,count(*),sum(csuspatt) from v_odquery group by cacceptor;传人的是cacceptor
    //bj=1时对应select cdept,cinitdept,count(*),sum(csuspatt) from v_odquery group by cdept,cinitdept;传人的为cinitdept
    public SqlRowSet getODQuery(String sdate,String edate,int ibj);
    //获得工作区编号
    public int getSeqWorkSpace();
    //获得网上派警编号
    public int getSeqOfficerDispatch();
    //获取相关参数
    public setupParam getParam();
    //按照传人的时间和房间编号查询当前正在被占用的
    public String getNowMeetingId(int roomid,String app);

}
